package org.platform.mo.bussmo.diagnose.test;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import lombok.Data;

/**
 * 故障诊断测试申请 误码率测试参数
 *
 * @author FengJie
 * @date 2018/5/7
 */
@Data
@XStreamAlias("BERTestParam")
public class BERTestParam {
    /**
     * 测试子项序号(格式：XXX，从1开始编号，不足三位补零)
     */
    @XStreamAlias("TestSubID")
    private String testsubid;
    /**
     * 测试误码范围(“-5    ;-7”表示测试测试误码范围为 -5~ -7)
     */
    @XStreamAlias("TestRange")
    private String testrange;
    /**
     * 闭环类型
     * IFLoopTest（中频闭环测试）
     * XRFLoopTest（X射频，不带场放）
     * SRFLoopTest（S射频，不带场放）
     * SLongLoopTest（大环测试，含场放）
     * XLongLoopTest（大环测试，含场放）
     */
    @XStreamAlias("LoopType")
    private String looptype;
    /**
     * 链路配置
     * LNA=“设备编号”;
     * UC=“设备编号”;
     * DC=“设备编号”;
     * MOD=“设备编号”;
     * Demod=“设备编号”;
     * 设备编号定义参见3.2.3。
     * 设备编号之间采用“;”隔开
     */
    @XStreamAlias("DevLink")
    private String devlink;
    /**
     * 测试频率 (单位：KHz)
     */
    @XStreamAlias("Frequency")
    private Integer frequency;
    /**
     * 调制方式
     * 0：BPSK
     * 1：QPSK
     * 2：OQPSK
     * 3：GMSK
     * 4：UQPSK
     * 5：8PSK
     * 6：16QAM
     * 7：32APSK
     * 8：64APSK
     * 9：VCM
     */
    @XStreamAlias("ModulationMode")
    private Integer modulationmode;
    /**
     * 相位旋转
     * 0：CCSDS
     * 1：Inverted
     * （仅16QAM/8PSK）
     */
    @XStreamAlias("PhaseRotation")
    private Integer phaserotation;
    /**
     * 相位映射
     * 0：Natural
     * 1：Gray1
     * 2：Gray2
     * 3：Gray3
     * 4：Gray4
     * 5：Gray5
     * 6：Gray6
     * 7：Natural2
     */
    @XStreamAlias("Mapping")
    private Integer mapping;
    /**
     * IQ功率比 单位dB     （UQPSK）
     */
    @XStreamAlias("IQPowerRation")
    private Float iqpowerration;
    /**
     * 成形滤波
     * 0：NoFilter
     * 1：Raised Cosine Filter
     * 2：RootRaised Cosine Filter
     * 3：GSMK
     */
    @XStreamAlias("MatchedFilter")
    private Integer matchedfilter;
    /**
     * 数据源
     * 0：PN7
     * 1：PN10
     * 2：PN11
     * 3：PN15
     * 4：PN23
     * 5：PN31
     */
    @XStreamAlias("SourceCode")
    private Integer sourcecode;
    /**
     * I路PCM码型
     * 0：NRZ-L
     * 1：NRZ-M
     * 2：NRZ-S
     * 3：DNRZ
     * 4：BPL
     * 5：BPM
     * 6：BPS
     */
    @XStreamAlias("CodeType_I")
    private Integer codetypeI;
    /**
     * IQ极性
     * 0：I+Q
     * 1：I/+Q
     * 2：I+Q/
     * 3：I/+Q/
     * 4：Q+I
     * 5：Q/+I
     * 6：Q+I/
     * 7：Q/+I/
     */
    @XStreamAlias("IQPolarity")
    private Integer iqpolarity;
    /**
     * I路或合路码速率  单位：Mbps
     */
    @XStreamAlias("BitRate_I")
    private Float bitrateI;
    /**
     * CodeTypeQ
     * 0：NRZ-L
     * 1：NRZ-M
     * 2：NRZ-S
     * 3：DNRZ
     * 4：BPL
     * 5：BPM
     * 6：BPS
     */
    @XStreamAlias("CodeType_Q")
    private Integer codetypeQ;
    /**
     * Q路码速率  单位：Mbps
     */
    @XStreamAlias("BitRate_Q")
    private Float bitrateQ;
    /**
     * I路维特比编码
     * 0：Off
     * 1：G1+G2/
     * 2：G1+G2
     * 3：G2/+G1
     * 4：G2 +G1
     */
    @XStreamAlias("ViterbiDecoder_I")
    private Integer viterbidecoderI;
    /**
     * Q路维特比编码
     * 0：Off
     * 1：G1+G2/
     * 2：G1+G2
     * 3：G2/+G1
     * 4：G2 +G1
     */
    @XStreamAlias("ViterbiDecoder_Q")
    private Integer viterbidecoderQ;
    /**
     * 打孔
     * 0：1/2
     * 1：2/3
     * 2：3/4
     * 3：4/5
     * 4：5/6
     * 5：6/7
     * 6：7/8
     */
    @XStreamAlias("ViterbiPuncturing")
    private Integer viterbipuncturing;
    /**
     * CADU同步字
     * 0：Enable：使能
     * 1：Disable：禁止
     */
    @XStreamAlias("CADUSyncWord")
    private Integer cadusyncword;
    /**
     * 同步字长
     */
    @XStreamAlias("SyncWordSize")
    private Integer syncwordsize;
    /**
     * 帧长
     */
    @XStreamAlias("FrameLenght")
    private Integer framelenght;
    /**
     * RS223编码
     * 0：Enable：使能
     * 1：Disable：禁止
     */
    @XStreamAlias("RS223")
    private Integer rs223;
    /**
     * RS239编码
     * 0：Enable：使能
     * 1：Disable：禁止
     */
    @XStreamAlias("RS239")
    private Integer rs239;
    /**
     * LDPC编码
     * 0：Enable：使能
     * 1：Disable：禁止
     */
    @XStreamAlias("LDPC")
    private Integer ldpc;

}
